package com.sweet.string;

/**
 * 字符串
 *
 * @author admin
 */
public final class Letter {
    private Letter() {
    }

    /**
     * 判断名称是否为中文、英文、数字
     *
     * @param name
     * @return
     */
    public static boolean isChinese_Letter_Number(String name) {
        char[] arr = name.toCharArray();
        for (char c : arr) {
            // 只要有一个不是中文、英文、数字则返回false
            if (!isChineseLetter(c) && !isUpperLetter(c) && !isLowerLetter(c) && !isNumLetter(c)) {
                return false;
            }
        }
        return true;
    }

    /**
     * 判断一个字符是否为汉字,汉字的unicode范围是：0x4E00~0x9FA5
     *
     * @param c
     * @return
     */
    public static boolean isChineseLetter(char c) {
        return c >= 0x4e00 && c <= 0x9fa5 ? true : false;
    }

    /**
     * 判断一个字符是否为大写字母
     *
     * @param c
     * @return
     */
    public static boolean isUpperLetter(char c) {
        return c >= 0x41 && c <= 0x5a ? true : false;
    }

    /**
     * 判断一个字符是否为小写字母
     *
     * @param c
     * @return
     */
    public static boolean isLowerLetter(char c) {
        return c >= 0x61 && c <= 0x7a ? true : false;
    }

    /**
     * 判断一个字符是否为数字
     *
     * @param c
     * @return
     */
    public static boolean isNumLetter(char c) {
        return c >= 0x30 && c <= 0x39 ? true : false;
    }
}
